/**-------------------------------------------------------
* 旺旺ID、客户中心名称查询lucene索引进行模糊查询
*/
//div中显示最多行数
var lucene_count = 15;
var lucene_imMap = null;
var lucene_cnameMap = null;
var lucene_objInput;
$(document).ready(function() {
	$('input[imsearch]').keyup(im_keyup);
	$('input[cnamesearch]').keyup(centerName_keyup);
	$('input[imsearch]').attr('autocomplete','off');
	$('input[cnamesearch]').attr('autocomplete','off');
});

$(document).click(function(i){
if (i.target.id != "imul" && i.target.id != "cnameul") {
		$('#imul').hide();
		$('#cnameul').hide();
	}

});
function im_keyup(e) {
    lucene_objInput = $(this);
    if (e.keyCode != 38 && e.keyCode != 40 && e.keyCode!=13) {
	var im = $.trim(lucene_objInput.val());
	lucene_objInput.val(im);

	if (im.length > 0) {
		result = divIMShow(false);

		if (!result) {
			var param = {"im":im};
			doLuceneAjax("ajax/searchIMIndex.action", param, setImMap);
		}
	} else {
		$('#imul').hide();
	}
	$('#imul').css("left",$(this).offset().left);
    $('#imul').css("top",$(this).offset().top+21);
    }else{
    	onpesskey(e,$('#imul'));
    }
}
function setImMap(ajaxResult) {

	if(ajaxResult.resultCode == 1) {
		lucene_imMap = ajaxResult.resultMap;
		divIMShow(true);
	} else {
		lucene_imMap = null;
	}
}
//flag:true:不判断命中的条数，显示层
function divIMShow(flag) {

	var index = 0;
	var result = false;
	var im = $.trim(lucene_objInput.val());
	$("#imul").html("");

	if(lucene_imMap != null) {
		$.each(lucene_imMap, function(i, n){
			if (index < lucene_count) {
				if (n.toLowerCase().indexOf(im.toLowerCase()) < 0) {
				} else {
					$("<li>" + n + "</li>").appendTo("#imul");
					index ++;
				}
			}
		});

		if (index >= lucene_count) {
			result = true;
		}

		if (flag || result) {
			showul($('#imul'));
		} else {
			$('#imul').hide();
		}
	} else {
		$('#imul').hide();
	}

	return result;
}
function showul(oul) {
	oul.show();
	//加载样式
	oul.find('li').hover(
		function(){ $(this).addClass('at'); },
		function(){ $(this).removeClass('at'); }
	);
	oul.find('li').click(function() {
		lucene_objInput.val($(this).text());
		oul.hide();
	});
}
function centerName_keyup(e) {
	lucene_objInput = $(this);
	var result = false;
	var centerName = $.trim(lucene_objInput.val());
	lucene_objInput.val(centerName);
	
	//setIsDirectStatus($('#centerID'), $('#centerName'), $('#isDirect'));
	if (e.keyCode != 38 && e.keyCode != 40 && e.keyCode!=13) {
		if (centerName.length > 0) {
			result = divCNameShow(false);
	
			if (!result) {
				var param = {"centerName":centerName};
				doLuceneAjax("ajax/searchCustCenterIndex.action", param, setCNameMap);
			}
		} else {
			$('#cnameul').hide();
		}
		$('#cnameul').css("left",lucene_objInput.offset().left);
	    $('#cnameul').css("top",lucene_objInput.offset().top+21);
	}else{
		onpesskey(e,$('#cnameul'));
	}
    
}
function divCNameShow(flag) {
	var index = 0;
	var result = false;
	var cname = $.trim(lucene_objInput.val());
	$("#cnameul").html("");

	if(lucene_cnameMap != null) {
		$.each(lucene_cnameMap, function(i, n){
			if (index < lucene_count) {
				if (n.toLowerCase().indexOf(cname.toLowerCase()) < 0) {
				} else {
					$("<li>" + n + "</li>").appendTo("#cnameul");
					index ++;
				}
			}
		});

		if (index >= lucene_count) {
			result = true;
		}

		if (flag || result) {
			showul($('#cnameul'));
		} else {
			$('#cnameul').hide();
		}
	} else {
		$('#cnameul').hide();
	}

	return result;
}
function onpesskey(e,div){

if (e.keyCode == 38 || e.keyCode == 40) {
    if (div.find("li[class=at]").html()) {
        if (e.keyCode == 40) {
            var jo = div.find("li[class=at]");
            if (jo.next().html()) {
                jo.next().addClass('at');
                jo.removeClass('at');
                lucene_objInput.val(jo.next().html());
            }
            else {
                div.find("li:first").addClass('at');
                jo.removeClass('at');
                lucene_objInput.val(div.find("li:first").html());
            }
        }
        else {
            var jo = div.find("li[class=at]");
            if (jo.prev().html()) {
                jo.prev().addClass('at');
                jo.removeClass('at');
                lucene_objInput.val(jo.prev().html());
            }
            else {
                div.find("li:last").addClass('at');
                jo.removeClass('at');
                lucene_objInput.val(div.find("li:last").html());
            }
        }
    }
    else {
        div.find("li:first").addClass('at');
        lucene_objInput.val(div.find("li:first").html());
    }
    return;
}
if(e.keyCode == 13){
	var v = div.find("li[class=at]").html();
	if(v){
		lucene_objInput.val(v);
	}
	$(document).click();
	return;
}
}

function setCNameMap(ajaxResult) {
	if(ajaxResult.resultCode == 1) {
		lucene_cnameMap = ajaxResult.resultMap;
		divCNameShow(true);
	} else {
		lucene_cnameMap = null;
	}
}
function doLuceneAjax(url,param,funSuccess){
$.ajax({
		type: "POST",
		dataType: "json",
		url: url,
		cache: false,
		data: param,
		success: funSuccess,
		error: funSuccess,
		clearForm: true
		});
}